package com.mazaiting.generator.enums;

import com.mazaiting.common.core.enums.IBaseEnum;
import lombok.AllArgsConstructor;

/**
 * 表单类型枚举
 *
 * @author mazaiting
 * @create_time 2022/11/13 19:03
 */
@AllArgsConstructor
public enum FormTypeEnum implements IBaseEnum<String> {
    DEFAULT("文本", "text"),
    TEXT("文本", "text"),
    RADIO("单选", "radio"),
    ;

    /**
     * 表情
     */
    private final String label;

    /**
     * 类型值
     */
    private final String value;

    /**
     * 根据字段类型转换
     *
     * @param type 字段类型
     * @return 字段类型
     */
    public static FormTypeEnum convert(String type) {
        if ("tinyint".equals(type)) {
            return FormTypeEnum.RADIO;
        }
        return FormTypeEnum.DEFAULT;
    }

    @Override
    public String getValue() {
        return this.value;
    }

    @Override
    public String getLabel() {
        return this.label;
    }

    /**
     * 重写 toString(), 使得转换后为 指定值
     * @return 指定值
     */
    @Override
    public String toString() {
        return this.value;
    }
}
